label: Clear select info before creating a new one
authorTimm Bäder <mail@baedert.org>
Fri, 10 Apr 2020 14:04:20 +0000 (16:04 +0200)
committerTimm Bäder <mail@baedert.org>
Fri, 17 Apr 2020 13:21:00 +0000 (15:21 +0200)
E.g. set_markup_internal will create a new select_info, but then we were
destroying it again, just to recreate it later.

gtk/gtklabel.c

index fc2e663a9f859e552c040065736521a2fdb837d9..6331b3fa4ddf82dc8d0a00e430c3277ee58eef51 100644 (file)
@@ -1856,6 +1856,8 @@ gtk_label_recalculate (GtkLabel *label)
   guint keyval = priv->mnemonic_keyval;
 
   gtk_label_clear_links (label);
+  gtk_label_clear_layout (label);
+  gtk_label_clear_select_info (label);
 
   if (priv->use_markup)
     gtk_label_set_markup_internal (label, priv->label, priv->use_underline);
@@ -1878,8 +1880,6 @@ gtk_label_recalculate (GtkLabel *label)
       g_object_notify_by_pspec (G_OBJECT (label), label_props[PROP_MNEMONIC_KEYVAL]);
     }
 
-  gtk_label_clear_layout (label);
-  gtk_label_clear_select_info (label);
   gtk_widget_queue_resize (GTK_WIDGET (label));
 }